●zmc3ってなに?   Z-MUSIC(V3)対応の、ZMS→ZMDコンパイラです。Z-MUSICをご存じでない  方のために説明すると、Z-MUSICとは西川善司氏によって作成されたMML系の  X680x0用内蔵音源/MIDI音源制御ツールであり、ZMSファイルというのはMMLを  記述するテキストファイルのことで、ZMDファイルとはZMSファイルをZ-MUSICの  内部形式に変換したものです。   X680x0上(zmc3.x), Windows95/NT4のDOS窓の中(zmc3.exe), Linux,FreeBSD,  SunOS4.1.x, Solaris(UltraSPARC) での動作確認がなされており、これを  用いてZ-MUSICのMIDI音源制御部分相当のMMLを利用できます。   これとz2m3(拙作,ZMD→MIDコンバータ)を併用することで、X680x0以外の  環境での、Z-MUSICによる最低限の音楽データ作成が実現出来ます。  エディタやプレーヤなど、環境の肉付けは各自で自由にしてみて下さい。  Windowsな方にはMASAさん(http://www.asahi-net.or.jp/~aa4m-shr/)に  よるZEDITが、Mule使いな方には我孫子さん  (http://www.ddna.is.tsukuba.ac.jp/~wabi/)によるzmusic-mode.el が  便利でしょう。 ●使用法   zmc3 [各種スイッチ] [入力ファイル[.zms]] [-o 出力ファイル[.zmd]]  というスタイルで用います。[..]内は省略出来ます。   通常の使い方としては、    1. sample.zms を用意しておいて、    2. zmc2 sample とすれば、    3. sample.zmd が作成出来ます。   以下スイッチの説明です。複数のスイッチを同時に指定する場合には  -w2 -c とバラで指定しても、-w2c とまとめて指定しても構いません。    -Wnum       zms→zmd変換時に表示される警告(warning)レベルを            指定します。             -w1   警告は一切表示しません(エラーのみ表示)。             -w2   Z-MUSIC V2レベルの警告を表示します。                (zmc3では意味なしのような気もします)             -w3   -w2 の内容に加えて、Z-MUSIC V3レベルの                警告を表示します。                 例えば、c<& というMMLは、-w3(か-w4)な時                のみ警告を表示します。             -w4   -w3 の内容に加えて、zmc3で新たに拡張された                MMLを使用すると警告を表示します。             指定する数字が大きくなるほど、より細かい警告が            表示されるようになります。             デフォルトでは -w3 が指定されています。(デフォルト            値はmakefileでコンパイル時に指定可能)    -o ファイル名   出力ファイル(zmd)の名前を指定します。この指定を            省略すると、入力ファイルの拡張子をzmdに変更した物を            用います。なお、指定法は -o ファイル名 と -oファイル名、            どちらでも構いません。             例               zmc3 sample -o sample2.zmd              → sample.zmsを変換して sample2.zmdを出力します。    -e ファイル名   エラー表示をファイルにリダイレクトします。他のシステム            からzmc3を利用する場合に便利です。    - -c       - を指定すると、入力ファイルの代わりに標準入力を            用います。-c を指定すると、出力に標準出力を用います。             例              cat sample.zms | zmc3 - -o sample.zmd              cat sample.zms | zmc3 - -c | z2m3 - -c > sample.mid    -l        warning/errorの出力フォーマットを変更します。指定が            ないと行数のみ表示しますが、指定があると行数と項数            (列?)も表示します。             例              -l未指定時               test.zms 26: Error: SYNTAX ERROR.               "c4eg,,,64",12                ^              -l指定時               test.zms L26C8: Error: SYNTAX ERROR.               "c4eg,,,64",12                ^    -h        ヘルプメッセージを表示します。引数なしで zmc3を            起動しても同じです。 ●実装済MML   そのうち書きます。試してみてエラーになるようなら使えないと  思ってください(^_^; ●内蔵音源サポートについて   コンパイルは通るかも知れませんが、多分動作しません。。。 ●制限  ・連符中にループ、ジャンプ系の命令([coda]とか)を使えない ●MMLの拡張   zmc3では、Z-MUSICで規定されているzmsフォーマットに加えて便利な  独自の拡張をいくつかサポートしています。詳しくはzmc3ext.txt  をご覧下さい。 ●配布制限   一切ありません。いわゆるPDSとして見なして頂いて構いません。  配布、改変、商的利用その他すべて私への断りなしで勝手に行って頂いて  結構です。 ●謝辞   ・初期バージョンからデバッグに協力していただいた おいもさん   ・SunOS4.1.x, FreeBSDでの動作確認をしていただき、    各種差分を提供して頂いた 田中さん   ・Solaris(UltraSPARC), Linuxでの動作確認をしていただき、各種    差分を提供していただき、バグ報告や機能提案を頂いた 我孫子さん   ・当方で再現出来ないエラーのデバッグに協力して下さった 内海さん   ・バグ報告並びに各種XG関連機能提案をいただいた muteさん   ・FM-TOWNSでの動作確認をしていただき、バグ報告ならびに内蔵音源    部などの実装をしていただいたMamiyaさん   どうもありがとうございます。 -- やぎ。 E-mail: yyagi@muc.biglobe.ne.jp (ほぼ毎日確認) web: http://www2s.biglobe.ne.jp/~yyagi/